Method and apparatus for processing video signals

ABSTRACT

The method for processing video signals according to the present invention involves deriving an inter-view motion vector of the current texture block from one of inter-view motion vector candidates in consideration of a priority among the inter-view motion vector candidates of the current texture block, and performing inter-view inter-prediction for the current texture block using the derived inter-view motion vector. The present invention enables more accurate inter-view motion vector prediction from among various inter-view motion vector candidates, and thus a reduction in the amount of residual data being transmitted, thereby improving coding efficiency.

TECHNICAL FIELD

The present invention relates to a method and apparatus for processingvideo signals.

BACKGROUND ART

Compression refers to a signal processing technique for transmittingdigital information through a communication line or storing the digitalinformation in a form suitable for a storage medium. Subjects ofcompression include audio, video and text information. Particularly, atechnique of compressing images is called video compression. Multiviewvideo has characteristics of spatial redundancy, temporal redundancy andinter-view redundancy.

DISCLOSURE Technical Problem

An object of the present invention is to improve video signal codingefficiency.

Technical Solution

The present invention derives an inter-view motion vector of a currenttexture block on the basis of at least one of an inter-view motionvector of a spatial/temporal neighboring block and a disparity vector.

The present invention derives the inter-view motion vector inconsideration of priorities of candidates including at least one of thespatial/temporal neighboring block and the disparity vector.

Spatial neighboring blocks according to the present invention include atleast one of a left lower neighboring block, a left neighboring block, aright upper neighboring block, an upper neighboring block and a leftupper neighboring block of the current texture block, and a spatialinter-view motion vector is acquired by searching the spatialneighboring blocks for a block coded according to inter-viewinter-prediction in consideration of priorities of the spatialneighboring blocks.

Temporal neighboring blocks according to the present invention includeat least one of a collocated block, a neighboring block adjacent to thecollocated block and a coding block including the collocated block, anda temporal inter-view motion vector is acquired by searching thetemporal neighboring blocks for a block coded according to inter-viewinter-prediction in consideration of priorities of the temporalneighboring blocks.

The present invention acquires a disparity vector of a current pictureusing a disparity vector map and, simultaneously, modifies a disparityvector stored in the disparity vector map using a disparity vectoroffset.

The present invention sets fixed priorities of inter-view motion vectorcandidates and derives the inter-view motion vector of the currenttexture block from the inter-view motion vector candidates according tothe fixed priorities.

The present invention uses, as candidates, an inter-view motion vectorof a block coded according to temporal inter-prediction as well as aninter-view motion vector of a block coded according to inter-viewinter-prediction from among spatial/temporal neighboring blocks.

The present invention defines a plurality of priority tables andselectively uses the priority tables on the basis of priority tableindexes.

The present invention determines priorities of inter-view motion vectorcandidates of a currently coded block on the basis of a state variableof a previously coded block.

Advantageous Effects

The present invention can improve video data prediction accuracy usingcorrelation between views by performing inter-view inter-predictionusing an inter-view motion vector. In addition, a precise inter-viewmotion vector can be derived by selectively using an inter-view motionvector or a disparity vector of a spatial/temporal neighboring block asthe inter-view motion vector so as to improve inter-viewinter-prediction accuracy, and coding efficiency can be enhanced byreducing the amount of transmitted residual data. Furthermore, aninter-view motion vector corresponding to a reference view motion vectoris used as a candidate even in the case of a block coded according totemporal inter-prediction as well as a block coded according tointer-view inter-prediction from among spatial/temporal neighboringblocks, thereby predicting an accurate inter-view motion vector.Moreover, priority is determined for a plurality of inter-view motionvector candidates and blocks, which are coded according to inter-viewinter-prediction, are sequentially searched according to the priority,thereby reducing complexity of a process of deriving an inter-viewmotion vector.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a video decoder according to an embodimentto which the present invention is applied.

FIG. 2 illustrates a configuration of a motion vector list generator 710according to an embodiment to which the present invention is applied.

FIG. 3 is a flowchart illustrating a process of determining a spatialmotion vector according to an embodiment to which the present inventionis applied.

FIG. 4 illustrates exemplary spatial neighboring blocks according to anembodiment to which the present invention is applied.

FIG. 5 illustrates exemplary temporal neighboring blocks according to anembodiment to which the present invention is applied.

FIG. 6 illustrates priorities of blocks included in a coding blockincluding a collocated block when the coding block is used as a temporalneighboring block according to an embodiment to which the presentinvention is applied.

FIG. 7 is a flowchart illustrating a method for deriving a disparityvector of a current texture block using depth data according to anembodiment to which the present invention is applied.

FIG. 8 is a flowchart illustrating a process of updating a disparityvector map for an inter-predicted block in a current picture accordingto an embodiment to which the present invention is applied.

FIG. 9 is a flowchart illustrating a method of deriving an inter-viewmotion vector from a neighboring block coded according to inter-viewinter-prediction on the basis of predetermined priority according to anembodiment to which the present invention is applied.

FIG. 10 is a flowchart illustrating a method of deriving an inter-viewmotion vector from a neighboring block coded according to temporalinter-prediction and a neighboring block coded according to inter-viewinter-prediction on the basis of predetermined priority according to anembodiment to which the present invention is applied.

FIG. 11 is a flowchart illustrating a method of selecting a prioritytable in consideration of the frequencies of inter-view motion vectorsused by spatial neighboring blocks according to an embodiment to whichthe present invention is applied.

FIG. 12 is a flowchart illustrating a method of selecting a prioritytable in consideration of an inter-view motion vector type of a spatialneighboring block according to an embodiment to which the presentinvention is applied.

FIG. 13 is a flowchart illustrating a method of determining priorityusing a state variable according to an embodiment to which the presentinvention is applied.

BEST MODE

To accomplish the object of the present invention, there is provided amethod for processing video signals, including: deriving an inter-viewmotion vector of a current texture block from one of inter-view motionvector candidates of the current texture block in consideration ofpriorities of the inter-view motion vector candidates; and performinginter-view inter-prediction for the current texture block using thederived inter-view motion vector.

According to the present invention, the inter-view motion vector of thespatial neighboring block may have a priority higher than that of theinter-view motion vector of the temporal neighboring block, and theinter-view motion vector of the temporal neighboring block may havehigher priority than that of the disparity vector.

According to the present invention, the method may further include:detecting a block coded according to inter-view inter-prediction for thespatial neighboring block having highest priority; deriving theinter-view motion vector of the current texture block from theinter-view motion vector of the spatial neighboring block when the blockcoded according to inter-view inter-prediction is present; and detectinga block coded according to inter-view inter-prediction for the temporalneighboring block having next highest priority when the block codedaccording to inter-view inter-prediction is not present.

According to the present invention, the spatial neighboring block mayinclude at least one of a left lower neighboring block, a leftneighboring block, a right upper neighboring block, an upper neighboringblock and a left upper neighboring block of the current texture block.

According to the present invention, the block coded according tointer-view inter-prediction may be detected on the basis of prioritiesof the spatial neighboring blocks, wherein the spatial neighboringblocks have priorities in descending order of the left lower neighboringblock, left neighboring block, right upper neighboring block, upperneighboring block and left upper neighboring block.

According to the present invention, the temporal neighboring block mayinclude at least one of a collocated block, a block adjacent to thecollocated block and a coding block including the collocated block.

According to the present invention, the block coded according tointer-view inter-prediction may be detected on the basis of prioritiesof the temporal neighboring blocks, wherein the temporal neighboringblocks have priorities in descending order of the collocated block, theblock adjacent to the collocated block and the coding block includingthe collocated block.

Modes for Invention

Techniques of compressing or decoding multiview video signal dataconsider spatial redundancy, temporal redundancy and inter-viewredundancy. In the case of a multiview image, multiview texture imagescaptured at two or more viewpoints can be coded in order to generate athree-dimensional image. Furthermore, depth data corresponding to themultiview texture images may be coded as necessary. The depth data canbe compressed in consideration of spatial redundancy, temporalredundancy or inter-view redundancy. Depth data is information on thedistance between a camera and a corresponding pixel. The depth data canbe flexibly interpreted as depth related information such as depthinformation, a depth image, a depth picture, a depth sequence and adepth bitstream in the specification. In addition, coding can includeboth the concepts of encoding and decoding in the specification and canbe flexibly interpreted in the technical spirit and technical scope ofthe present invention.

FIG. 1 is a block diagram of a video decoder according to an embodimentto which the present invention is applied.

Referring to FIG. 1, the video decoder may include a NAC parsing unit100, an entropy decoding unit 200, an inverse quantization/inversetransform unit 300, an intra-prediction unit 400, an in-loop filter unit500, a decoded picture buffer unit 600 and an inter-prediction unit 700.The NAL parsing unit 100 may receive a bitstream including multiviewtexture data. In addition, the NAL parsing unit 100 may further receivea bitstream including encoded depth data when the depth data isnecessary for texture data coding. The input texture data and depth datamay be transmitted as one bitstream or transmitted as separatebitstreams. The NAL parsing unit 100 may perform parsing on an NAL basisin order to decode the input bitstream. When the input bitstream ismultiview related data (e.g. 3-dimensional video), the input bitstreammay further include a camera parameter. The camera parameter may includean intrinsic camera parameter and an extrinsic camera parameter, and theintrinsic camera parameter may include a focal length, an aspect ratio,a principal point and the like and the extrinsic camera parameter mayinclude camera position information in the global coordinate system andthe like.

The entropy decoding unit 200 may extract a quantized transformcoefficient, coding information for texture picture prediction and thelike through entropy decoding. The inverse quantization/inversetransform unit 300 may acquire a transform coefficient by applying aquantization parameter to the quantized transform coefficient and decodethe texture data or the depth data by inversely transforming thetransform coefficient. Here, the decoded texture data or depth data mayinclude residual data according to prediction. In addition, aquantization parameter for a depth block may be set in consideration ofcomplexity of the texture data. For example, a low quantizationparameter can be set when a texture block corresponding to the depthblock has a high complexity and a high quantization parameter can be setwhen the texture block has a low complexity. The complexity of thetexture block may be determined on the basis of a differential valuebetween neighboring pixels in a reconstructed texture picture, asrepresented by Equation 1.

$\begin{matrix}{E = {\frac{1}{N}{\sum\limits_{({x,y})}\; \left\lbrack {{{C_{x,y} - C_{{x - 1},y}}} + {{C_{x,y} - C_{{x + 1},y}}}} \right\rbrack^{2}}}} & \left\lbrack {{Equation}\mspace{14mu} 1} \right\rbrack\end{matrix}$

In Equation 1, E denotes the complexity of texture data, C denotesreconstructed texture data and N denotes the number of pixels in atexture data region for which complexity will be calculated. Referringto Equation 1, the complexity of texture data can be calculated using adifferential value between texture data corresponding to the point (x,y) and texture data corresponding to the point (x−1, y) and adifferential value between the texture data corresponding to the point(x, y) and texture data corresponding to the point (x+1, y). Inaddition, complexity can be calculated for each of the texture pictureand texture block and the quantization parameter can be derived usingthe complexity, as represented by Equation 2.

$\begin{matrix}{{\Delta \; {QP}} = {\min \left( {{\max \left( {{\alpha \; \log_{2}\frac{E_{f}}{E_{b}}},{- \beta}} \right)},\beta} \right)}} & \left\lbrack {{Equation}\mspace{14mu} 2} \right\rbrack\end{matrix}$

Referring to Equation 2, the quantization parameter for the depth blockcan be determined on the basis of the ratio of the complexity of thetexture picture to the complexity of the texture block. In Equation 2, αand β may be variable integers derived by the decoder or may be integerspredetermined in the decoder.

The intra-prediction unit 400 may perform intra-prediction usingreconstructed texture data in the current texture picture.Intra-prediction may be performed for the depth picture in the samemanner as that for the texture picture. For example, coding informationused for inter-prediction of the texture picture can be equally used forthe depth picture. The coding information used for inter-prediction mayinclude an intra-prediction mode and partition information ofintra-prediction.

The in-loop filter unit 500 may apply an in-loop filter to each codedblock in order to reduce block distortion. The filter may smooth theedge of a block so as to improve the quality of a decoded picture.Filtered texture pictures or depth pictures may be output or stored inthe decoded picture buffer unit 600 to be used as reference pictures.When texture data and depth data are coded using the same in-loopfilter, coding efficiency may be deteriorated since the texture data andthe depth data have different characteristics. Accordingly, a separatein-loop filter for the depth data may be defined. A description will begiven of a region-based adaptive loop filter and a trilateral loopfilter as an in-loop filtering method capable of efficiently coding thedepth data.

In the case of the region-based adaptive loop filter, it can bedetermined whether the region-based adaptive loop filter is applied onthe basis of a variance of a depth block. The variance of the depthblock can be defined as a difference between a maximum pixel value and aminimum pixel value in the depth block. It is possible to determinewhether the filter is applied by comparing the variance of the depthblock with a predetermined threshold value. For example, when thevariance of the depth block is greater than or equal to thepredetermined threshold value, which means that the difference betweenthe maximum pixel value and the minimum pixel value in the depth blockis large, it can be determined that the region-based adaptive loopfilter is applied. On the contrary, when the variance of the depth blockis less than the predetermined threshold value, it can be determinedthat the region-based adaptive loop filter is not applied. When theregion-based adaptive loop filter is applied according to the comparisonresult, pixel values of the filtered depth block may be derived byapplying a predetermined weight to neighboring pixel values. Here, thepredetermined weight can be determined on the basis of a positiondifference between a currently filtered pixel and a neighboring pixeland/or a differential value between a currently filtered pixel value anda neighboring pixel value. The neighboring pixel value may refer to oneof pixel values other than the currently filtered pixel value from amongpixel values included in the depth block.

The trilateral loop filter according to the present invention is similarto the region-based adaptive loop filter but is distinguished from theregion-based adaptive loop filter in that the former additionallyconsiders texture data. Specifically, the trilateral loop filter canextract depth data of neighboring pixels which satisfy the followingthree conditions.

|p−q|≦σ1  Condition 1.

|D(p)−D(q)|≦σ2  Condition 2.

|V(p)−V(q)|≦σ3  Condition 3.

Condition 1 compares a position difference between a current pixel p anda neighboring pixel q in the depth block with a predetermined parameterσ1, Condition 2 compares a difference between depth data of the currentpixel p and depth data of the neighboring pixel q with a predeterminedparameter σ2 and Condition 3 compares a difference between texture dataof the current pixel p and texture data of the neighboring pixel q witha predetermined parameter σ3.

The trilateral loop filter can extract neighboring pixels which satisfythe three conditions and filter the current pixel p with the median oraverage of depth data of the neighboring pixels.

The decoded picture buffer unit 600 may store or open previously codedtexture pictures or depth pictures in order to perform inter-prediction.To store previously coded texture pictures or depth pictures in thedecoded picture buffer unit 600 or to open the pictures, frame_num and apicture order count (POC) of each picture may be used. Furthermore,since the previously coded pictures include depth pictures correspondingto viewpoints different from the viewpoint of the current depth picturein depth coding, viewpoint identification information for identifying adepth picture viewpoint may be used in order to use the depth picturescorresponding to different viewpoints as reference pictures. The decodedpicture buffer unit 600 may manage reference pictures using an adaptivememory management control operation method and a sliding window methodin order to achieve inter-prediction more flexibly. This enables areference picture memory and a non-reference picture memory to be unitedinto one memory so as to achieve efficient management of a small memory.In depth coding, depth pictures may be marked to be discriminated fromtexture pictures in the decoded picture buffer unit and information foridentifying each depth picture may be used during the marking process.

The inter-prediction unit 700 may perform motion compensation of acurrent block using reference pictures and motion information stored inthe decoded picture buffer unit 600. The motion information may includea motion vector and reference index information in a broad sense in thespecification. In addition, the inter-prediction unit 700 may performtemporal inter-prediction for motion compensation. Temporalinter-prediction may refer to inter-prediction using reference pictures,which correspond to the same viewpoint as the current texture blockwhile corresponding to a time period different from that of the currenttexture block, and motion information of the current texture block. Inthe case of a multiview image captured by a plurality of cameras,inter-view inter-prediction may be performed in addition to temporalinter-prediction. Inter-view inter-prediction may refer tointer-prediction using reference pictures corresponding to viewpointsdifferent from that of the current texture block and motion informationof the current texture block. For convenience, motion information usedfor inter-view prediction is referred to as an inter-view motion vectorand inter-view reference index information. Accordingly, motioninformation can be flexibly interpreted as information including theinter-view motion vector and inter-view reference index information inthe specification. A description will be given of a method for derivingmotion information of the current texture block, particularly, a motionvector in the inter-prediction unit 700.

FIG. 2 illustrates a configuration of a motion vector list generator 710according to an embodiment to which the present invention is applied.

The motion vector list generator 710 may be included in theinter-prediction unit 700 of the decoder. The motion vector listgenerator 710 may be composed of a list initialization unit 720 and alist modification unit 730. The list initialization unit 720 maygenerate a motion vector list including motion vector candidates. Here,the motion vector candidates may refer to a set of motion vectors of thecurrent texture block or motion vectors which can be used as predictedmotion vectors. A motion vector candidate according to the presentinvention may include at least one of a spatial motion vector, atemporal motion vector and a reference view motion vector. The spatialmotion vector, the temporal motion vector and the reference view motionvector included in the motion vector candidate are respectively acquiredby a spatial motion vector determination unit 740, a temporal motionvector determination unit 750 and a reference view motion vectordetermination unit 760, which are included in the motion vector listinitialization unit 720. The spatial motion vector determination unit740 may derive a spatial motion vector from a motion vector of aneighboring block which is spatially adjacent to the current textureblock. A method of determining the spatial motion vector will bedescribed in detail with reference to FIG. 3. The temporal motion vectordetermination unit 750 may derive a temporal motion vector from a motionvector of a neighboring block which is temporally adjacent to thecurrent texture block. For example, the temporally adjacent neighboringblock may correspond to a collocated block, which is in the sameposition as the current texture block within a reference picturecorresponding to the same viewpoint as that of the current texture blockand located in a time period different from that of the current textureblock. Here, the reference picture can be specified by reference indexinformation of a picture including the collocated block. The referenceview motion vector determination unit 760 may derive a reference viewmotion vector from a motion vector of a corresponding block positionedat a viewpoint different from the current texture block. Here, thecorresponding block may be a block indicated by an inter-view motionvector of the current texture block. For example, a reference blockwithin a reference view can be specified using the inter-view motionvector of the current texture block and the motion vector of thespecified reference block can be set as the reference view motion vectorof the current texture block. The inter-view motion vector used todetermine the reference view motion vector may be included in the motionvector candidate of the current texture block to form the motion vectorlist. In this case, the inter-view motion vector may be included in themotion vector list in consideration of whether the reference picture ofthe current texture block corresponds to the same view as the currenttexture block or a different view. For example, when the referencepicture of the current texture block corresponds to a view differentfrom the current texture block, the inter-view motion vector can beadded to the motion vector list. Otherwise, when the reference indexinformation of the current texture block indicates a reference picturefor inter-view prediction, the inter-view motion vector may be added tothe motion vector list. A method of deriving the inter-view motionvector according to the present invention will be described withreference to FIGS. 4 to 13.

The motion vector list generated by the list initialization unit 720 maybe used as a final motion vector list for deriving the motion vector ofthe current texture block and may be modified through the listmodification unit 730 to remove redundancy of motion vector candidates.For example, the list modification unit 730 can check whether spatialmotion vectors in the motion vector list generated by the listinitialization unit 720 are identical. When identical spatial motionvectors are present, the list modification unit 730 may remove one ofthe identical spatial motion vectors from the motion vector list.Furthermore, when the number of motion vector candidates, which are leftin the motion vector list after removal of redundancy of motion vectorcandidates in the motion vector list, is less than 2, the listmodification unit 730 may add a zero motion vector. On the contrary,when the number of motion vector candidates, which are left in themotion vector list after removal of redundancy of motion vectorcandidates, is greater than 2, the list modification unit 730 may removemotion vector candidates except for 2 motion vector candidates from themotion vector list. Here, the 2 motion vector candidates left in themotion vector list may be candidates having lower list identificationindexes in the motion vector list. A list identification index, which isallocated to each motion vector candidate included in the motion vectorlist, may refer to information for identifying each motion vectorcandidate.

FIG. 3 illustrates a process of determining a spatial motion vectoraccording to an embodiment to which the present invention is applied.

The spatial motion vector according to the present invention may bederived from a motion vector of a neighboring block which is spatiallyadjacent to the current texture block. The neighboring block which isspatially adjacent to the current texture block may refer to one ofblocks located at the left, top, lower left, upper left and upper rightof the current texture block. In determination of the spatial motionvector, it may be checked whether reference pictures of the currenttexture block and the neighboring block are identical to each other(S300). For example, it is possible to check whether reference indexinformation of the current texture block corresponds to reference indexinformation of the neighboring block in order to determine whether thereference pictures of the current texture block and the neighboringblock are identical to each other. Alternatively, it may be checkedwhether picture order count (POC) information allocated to the referencepicture of the current texture block corresponds to POC informationallocated to the reference picture of the neighboring block. Even whenreference picture lists used by the current texture picture and theneighboring block differ from each other, it is possible to checkwhether the reference pictures of the current texture block and theneighboring block are identical to each other by comparing POCinformation allocated to the reference picture of the current textureblock with POC information allocated to the reference picture of theneighboring block since POC information is information indicating apicture output sequence or time sequence and an output sequence is aunique value of each picture. A process of checking whether thereference pictures are identical may be performed on two groups ofspatially neighboring blocks. For example, left and left lowerneighboring blocks of the current texture block can be grouped into afirst group and upper, left upper and right upper neighboring blocks ofthe current texture block can be grouped into a second group. In thiscase, it can be checked whether the reference picture of the currenttexture block corresponds to the reference picture of at least oneneighboring block included in the first block and whether the referencepicture of the current texture block corresponds to the referencepicture of at least one neighboring block included in the second block.The reference picture of the current texture block may be compared withreference pictures of neighboring blocks in a predetermined order. Forexample, in the case of the first group, the reference picture of thecurrent texture block can be sequentially compared with the referencepicture of the left lower neighboring block and the reference picture ofthe left neighboring block. In the case of the second group, thereference picture of the current texture block can be sequentiallycompared with the reference picture of the right upper neighboringblock, the reference picture of the upper neighboring block and thereference picture of the left upper neighboring block. When it isdetermined that the reference picture of the current texture block isidentical to the reference picture of the neighboring block in stepS300, the motion vector of the neighboring block having the samereference picture may be added to the motion vector list (S310). When itis determined that the reference picture of the current texture block isnot identical to the reference picture of the neighboring block, apredetermined scaling factor may be applied to the motion vector of theneighboring block (S320). The scaling factor may be determined inconsideration of a temporal distance between the current pictureincluding the current texture block and the reference picture of thecurrent texture block. For example, the scaling factor can be determinedin consideration of a differential value between POC informationallocated to the current picture and POC information allocated to thereference picture of the current texture block. In addition, a temporaldistance between the current picture and the reference picture of theneighboring block may be further considered to determine the scalingfactor. For example, the scaling factor can be determined inconsideration of a differential value between the POC informationallocated to the current picture and POC information allocated to thereference picture of the neighboring block. The scaled motion vector ofthe neighboring block may be added to the motion vector list (S330).

The method of generating a motion vector list has been described withreference to FIGS. 2 and 3. A description will be given of a method ofderiving the motion vector of the current texture block from the motionvector list in the inter-prediction unit 700.

Motion vector identification information about the current texture blockmay be extracted from an input bitstream. The motion vectoridentification information may be information that specifies a motionvector candidate used as a motion vector or a predicted motion vector ofthe current texture block. That is, a motion vector candidatecorresponding to the extracted motion vector identification informationmay be extracted from the motion vector list and set to the motionvector or predicted motion vector of the current texture block. When themotion vector candidate corresponding to the motion vectoridentification information is set to a predicted motion vector of thecurrent texture block, a motion vector differential value may be used toreconstruct the motion vector of the current texture block. Here, themotion vector differential value may refer to a differential vectorbetween the decoded motion vector and the predicted motion vector.Accordingly, the motion vector of the current texture block can bedecoded using the predicted motion vector acquired from the motionvector list and the motion vector differential value extracted from thebitstream. Pixel values of the current texture block may be predictedusing the decoded motion vector and a reference picture list. Thereference picture list may include not only reference pictures fortemporal inter-prediction but also reference pictures for inter-viewinter-prediction.

The inter-view motion vector described with reference to FIG. 2 may bederived from one selected from a spatial inter-view motion vector, atemporal inter-view motion vector and a disparity vector. The spatialinter-view motion vector according to the present invention may bederived from a motion vector of a neighboring block which is codedaccording to inter-view inter-prediction from among spatial neighboringblocks of the current texture block. In other words, the spatialinter-view motion vector may be derived using a neighboring block havingan inter-view motion vector from among spatial neighboring blocks of thecurrent texture block, which will be described with reference to FIG. 4.The temporal inter-view motion vector of the present invention may bederived from a motion vector of a neighboring block which is codedaccording to inter-view inter-prediction from among temporal neighboringblocks of the current texture block. In other words, the temporalinter-view motion vector may be derived using a neighboring block havingan inter-view motion vector from among temporal neighboring blocks ofthe current texture block. Here, a temporal neighboring block may referto a block in the same position as the current texture block or adjacentto the position of the current texture block within a reference picturehaving the same view as the current picture including the currenttexture block, which will be described with reference to FIG. 5. Thedisparity vector according to the present invention may representinter-view disparity in a multiview image. In the case of a multiviewimage, inter-view disparity according to camera position may begenerated and the disparity vector may compensate for the inter-viewdisparity. A method of deriving the disparity vector will be describedwith reference to FIG. 6.

FIG. 4 illustrates exemplary spatial neighboring blocks according to anembodiment to which the present invention is applied.

Referring to FIG. 4( a), spatial neighboring blocks may include at leastone of a left lower neighboring block A₀, a left neighboring block A₁, aright upper neighboring block B₀, an upper neighboring block B₁ and aleft upper neighboring block B₂. The aforementioned spatial neighboringblocks may be searched for a block coded according to inter-viewinter-prediction and an inter-view motion vector of the neighboringblock coded according to inter-view inter-prediction may be set to aninter-view motion vector of the current texture block. The block codedaccording to inter-view inter-prediction may be detected inconsideration of priorities of the spatial neighboring blocks. It isassumed that the priorities of the spatial neighboring blocks are set asshown in Table 1 when the block coded according to inter-viewinter-prediction is detected.

TABLE 1 Priority Spatial neighboring block 0 Left lower neighboringblock 1 Left neighboring block 2 Right upper neighboring block 3 Upperneighboring block 4 Left upper neighboring block

Referring to Table 1, a lower priority value refers to a higherpriority. Accordingly, the spatial neighboring blocks may be searched inthe order of the left lower neighboring block, left neighboring block,right upper neighboring block, upper neighboring block and left upperneighboring block for a block coded according to inter-viewinter-prediction. For example, when the left lower neighboring block isa block coded according to inter-view inter-prediction, the inter-viewmotion vector of the left lower neighboring block can be set to theinter-view motion vector of the current texture block and searching canbe ended. However, when the left lower neighboring block has not beencoded according to inter-view inter-prediction, it can be checkedwhether the left neighboring block has been coded according tointer-view inter-prediction. Alternatively, the spatial neighboringblocks may be searched in the order of the left neighboring block, upperneighboring block, right upper neighboring block, left lower neighboringblock and left upper neighboring block for a block coded according tointer-view inter-prediction. However, priorities of the spatialneighboring blocks are not limited to the above-described embodiment.

A description will be given of a method for determining whether aneighboring block is coded according to inter-view inter-prediction. Inone embodiment, it is possible to determine whether a neighboring blockis coded according to inter-view inter-prediction on the basis ofwhether the corresponding neighboring block uses an inter-view referencepicture list. The inter-view reference picture list may refer to a listcomposed of reference pictures positioned at viewpoints different fromthe viewpoint of the corresponding neighboring block. Alternatively, itmay be determined whether a neighboring block is coded according tointer-view inter-prediction on the basis of reference index informationof the corresponding neighboring block. For example, when the referenceindex information of the corresponding neighboring block specifies areference picture located at a viewpoint different from that of thecorresponding neighboring block, it can be specified that thecorresponding neighboring block is coded according to inter-viewinter-prediction. Alternatively, it may be determined whether aneighboring block is coded according to inter-view inter-prediction onthe basis of whether POC of a picture including the correspondingneighboring block is identical to POC of a reference picture of thecorresponding neighboring block. POC is output sequence information andpictures in the same access unit may have the same POC. Accordingly,when the two POCs are identical, this means that the picture includingthe corresponding neighboring block and the reference picture arelocated at different viewpoints. In this case, it can be specified thatthe corresponding neighboring block is coded according to inter-viewinter-prediction.

FIG. 4( b) illustrates an expansion of spatial neighboring blockcandidates. When the size of the left neighboring block A₁ is less thanthe size of the current texture block, the current texture block mayfurther have at least one left neighboring block. For example, thespatial neighboring blocks according to the present invention canfurther include left neighboring blocks A₂ and A₃ located between theleft neighboring block A₁ and the left upper neighboring block B₄, asshown in FIG. 4( b). In the same manner, the spatial neighboring blocksaccording to the present invention can further include upper neighboringblocks B₂ and B₃ located between the upper neighboring block B₁ and theleft upper neighboring block B₄ when the size of the upper neighboringblock B₁ is less than the size of the current texture block. In thiscase, a block coded according to inter-view inter-prediction may also bedetected in consideration of priorities of the spatial neighboringblocks (e.g. A₀->A₁->A₂->A₃->B₀->B₁->B₂->B₃->B₄). As described above, itis possible to increase the probability that the inter-view motionvector of the current texture block can be acquired by expanding spatialneighboring block candidates for deriving the inter-view motion vectorof the current texture block.

FIG. 5 illustrates exemplary temporal neighboring blocks according to anembodiment to which the present invention is applied.

Referring to FIG. 5, a temporal neighboring block may refer to a block(referred to as a collocated block hereinafter) in the same position asthe current texture block within a reference picture of the currenttexture block. Here, the reference picture may refer to a picturecorresponding to the same view as the current picture including thecurrent texture block while corresponding to a different time. Thecollocated block according to the present invention may be definedthrough two methods, as shown in FIG. 5. Referring to FIG. 5( a), thecollocated block may be defined as a block including the position C inthe reference picture, which corresponds to the position C of the centerpixel of the current texture block. Referring to FIG. 5( b), thecollocated block may be defined as a block including the position X inthe reference picture, which corresponds to the position X of the leftupper pixel of the current texture block.

The temporal neighboring block of the present invention is not limitedto the collocated block and may refer to a neighboring block adjacent tothe collocated block. As shown in FIG. 5( a), at least one of the leftlower neighboring block A₀, left block A₁, right upper neighboring blockB₀, upper block B₁ and left upper neighboring block B₂ may be used asthe neighboring block adjacent to the collocated block. Furthermore,since the reference picture has been decoded prior to the currentpicture, a lower neighboring block and a right neighboring block of thecollocated block may also be used as temporal neighboring blocks. Forexample, a right lower neighboring block C₀, a lower neighboring blockC₁ and a right neighboring block C₂ can be used as temporal neighboringblocks, as shown in FIG. 5( a).

In addition, the temporal neighboring block according to the presentinvention may refer to a coding block including a collocated block. Acoding block may refer to a basic unit for processing an image in avideo signal processing procedure (e.g. intra/inter-prediction,transform, quantization, entropy coding and the like). One coding blockmay be segmented into a plurality of coding blocks. For example, a 2N×2Ncoding block can be divided into four N×N coding blocks. Coding blocksegmentation may be recursively performed. When a temporal neighboringblock is defined as a coding block including a collocated block, aninter-view motion vector of a block coded according to inter-viewinter-prediction, which is included in the corresponding coding block,may be an inter-view motion vector candidate of the current textureblock. In this case, the block coded according to inter-viewinter-prediction may be detected in consideration of priorities ofblocks included in the corresponding coding block, which is now bedescribed with reference to FIG. 6. FIG. 6 illustrates priorities ofblocks belonging to a coding block including a collocated block when thecoding block is used as a temporal neighboring block according to anembodiment to which the present invention is applied.

Referring to FIG. 6( a), priorities of blocks included in a coding blockmay be determined according to raster scanning order. Raster scanningmay refer to line scanning from the left to the right. Accordingly, whenneighboring blocks are searched in raster scanning order for a blockcoded according to inter-view inter-prediction and the block codedaccording to inter-view inter-prediction is detected, the inter-viewmotion vector of the corresponding block may be set as the inter-viewmotion vector of the current texture block. Referring to FIG. 6( b), thepriorities may be determined in clockwise or counter-clockwise scanningorder from an inside block to an outside block in the coding block.

It is possible to search a) a collocated block, b) a neighboring blockadjacent to the collocated block and c) a coding block including thecollocated block, which are regarded as temporal neighboring blockcandidates, for a block coded according to inter-view inter-predictionin consideration of priority. Specifically, it is determined whether atemporal neighboring block with highest priority is a block codedaccording to inter-view inter-prediction and, when the temporalneighboring block with the highest priority has not been coded accordingto inter-view inter-prediction, it is determined whether a temporalneighboring block with next highest priority is a block coded accordingto inter-view inter-prediction. This operation may be performed until ablock coded according to inter-view inter-prediction is detected. Forexample, priorities of temporal neighboring blocks are assumed as shownin Table 2. The priorities shown in Table 2 are exemplary and thepresent invention is not limited thereto.

TABLE 2 Priority Temporal neighboring block 0 Collocated block 1Neighboring block adjacent to the collocated block 2 Coding blockincluding the collocated block

Referring to Table 2, a lower priority value refers to a higherpriority. Accordingly, it may be determined whether the collocated blockwith highest priority is a block coded according to inter-viewinter-prediction. When the collocated block with the highest priority isa block coded according to inter-view inter-prediction, the inter-viewmotion vector of the collocated block may be set as the inter-viewmotion vector of the current texture block and searching may be stopped.However, when the collocated block with the highest priority is not ablock coded according to inter-view inter-prediction, searching isperformed in the order of the neighboring block adjacent to thecollocated block and the coding block including the collocated blockuntil a block coded according to inter-view inter-prediction is found.

When the inter-view motion vector of the current texture block isderived, a temporal neighboring block may be selectively used on thebasis of temporal motion flag information. The temporal motion flaginformation may refer to information that specifies whether the temporalneighboring block is used when the motion vector or inter-view motionvector of the current picture is derived. That is, an encoder can codethe temporal motion flag information into 1 when it is efficient to usethe inter-view motion vector of the temporal neighboring block as aninter-view motion vector candidate of the current picture and code thetemporal motion flag information into 0 otherwise and transmit thetemporal motion flag information to a decoder. The decoder may use thetemporal neighboring block as an inter-view motion vector candidate whenderiving an inter-view motion vector of each texture block included inthe current picture only when the temporal neighboring block is used,according to the temporal motion flag information about the currentpicture. Access to coding information of the reference picture can belimited by enabling restricted use of the temporal neighboring blockusing the temporal motion flag information, thereby reducing decodingcomplexity and the number of times of referring to a memory storing thereference picture. A description will be given of a method of acquiringa disparity vector which can be used as the inter-view motion vector ofthe current texture block.

FIG. 7 is a flowchart illustrating a method of deriving a disparityvector of the current texture block using depth data according to anembodiment to which the present invention is applied.

Referring to FIG. 7, position information of a depth block (referred toas a current depth block hereinafter) in a depth picture, whichcorresponds to the current texture block of the current picture, may beacquired on the basis of position information of the current textureblock of the current picture (S700). The position of the current depthblock may be determined in consideration of spatial resolutions of thedepth picture and the current picture. For example, when the depthpicture and the current picture are coded in the same spatialresolution, the position of the current depth block can be determined asthe same position as the current texture block of the current picture.The current picture and the depth picture may be coded in differentspatial resolutions since coding efficiency is not remarkablydeteriorated even when depth information is coded in decreased spatialresolution in terms of characteristics of the depth informationindicating a distance between a camera and an object. Accordingly, whenthe depth picture is coded in spatial resolution lower than that of thecurrent picture, the decoder may upsample the depth picture prior toacquisition of the position information of the current depth block. Inaddition, when the aspect ratio of the upsampled depth picture is notconsistent with the aspect ratio of the current picture, offsetinformation may be additionally considered when the position informationof the current depth block is acquired within the upsampled depthpicture. Here, the offset information may include at least one of upperoffset information, left offset information, right offset informationand lower offset information. The upper offset information may refer toa position difference between at least one pixel located at the top ofthe upsampled depth picture and at least one pixel located at the top ofthe current picture. The left offset information, right offsetinformation and lower offset information may be defined in the samemanner.

Depth data corresponding to the position information of the currentdepth block may be acquired (S710). When the current depth blockincludes a plurality of pixels, depth data corresponding to a cornerpixel of the current depth block may be used. Otherwise, depth datacorresponding to a center pixel of the current depth block may be used.Alternatively, one of a maximum value, minimum value and mode, fromamong a plurality of pieces of depth data corresponding to the pluralityof pixels, may be selectively used and a mean of the plurality of piecesof depth data may be used. The disparity vector of the current textureblock may be derived using the acquired depth data and a cameraparameter (S720). A detailed method of deriving the disparity vector ofthe current texture block will now be described with reference toEquations 3 and 4.

$\begin{matrix}{Z = \frac{1}{{\frac{D}{255} \times \left( {\frac{1}{Z_{near}} - \frac{1}{Z_{far}}} \right)} + \frac{1}{Z_{far}}}} & \left\lbrack {{Equation}\mspace{14mu} 3} \right\rbrack\end{matrix}$

In Equation 3, Z denotes a distance between a corresponding pixel and acamera, D is a value obtained by quantizing Z and corresponds to depthdata of the present invention, and Z_(near) and Z_(far) respectivelyrepresent a minimum value and a maximum value of Z defined for a viewincluding the depth picture. Z_(near) and Z_(far) may be extracted froma bitstream through a sequence parameter set, a slice header and thelike and may be information predetermined in the decoder. Accordingly,when the distance between the corresponding pixel and the camera isquantized at a level of 256, Z can be reconstructed using depth dataZ_(near) and Z_(far) as represented by Equation 3. Subsequently, thedisparity vector for the current texture block may be derived usingreconstructed Z, as represented by Equation 4.

$\begin{matrix}{d = \frac{f \times B}{Z}} & \left\lbrack {{Equation}\mspace{14mu} 4} \right\rbrack\end{matrix}$

In Equation 4, f denotes the focal length of a camera and B denotes adistance between cameras. It can be assumed that all cameras have thesame f and B, and thus f and B may be information predefined in thedecoder.

When only texture data of a multiview image is coded, information aboutcamera parameters cannot be used and thus the method of deriving adisparity vector from depth data cannot be used. Accordingly, adisparity vector map storing disparity vectors may be used when onlytexture data of a multiview image is coded. The disparity vector map maybe a map in which disparity vectors, each of which is composed ofhorizontal components and vertical components, are stored in atwo-dimensional array. The disparity vector map of the present inventionmay be represented in various sizes. For example, the disparity vectormap can have a size of 1×1 when only one disparity vector is used perpicture. When a disparity vector is used per 4×4 block in a picture, thedisparity vector map can have a size corresponding to 1/16 of thepicture size since the disparity vector map has a width and a height of¼ of those of the picture. In addition, the size of the current textureblock may be adaptively determined in one picture and a disparity vectormay be stored per corresponding texture block.

The current picture may be decoded using a disparity vector extractedfrom a disparity vector map corresponding thereto. The disparity vectormap corresponding to the current picture may be updated on the basis ofa current picture decoding result. The updated disparity vector map maybe used as a disparity vector map of a picture coded after the currentpicture. A description will be given of a method of updating a disparityvector map with reference to FIG. 8.

FIG. 8 is a flowchart illustrating a process of updating a disparityvector map for an inter-predicted block in the current picture accordingto an embodiment to which the present invention is applied.

Referring to FIG. 8, prediction mode information of the current textureblock may be extracted from a bitstream (S800). The prediction modeinformation may refer to information indicating whether the currentblock is coded according to intra-prediction or inter-prediction. Whenthe current texture block is coded through inter-prediction according tothe extracted prediction mode information, it may be determined whetherprediction of the current texture block in direction L0 and direction L1is temporal inter-prediction or inter-view inter-prediction (S810).Prediction in direction L0 may refer to prediction using referencepicture list 0 for inter-prediction in one direction and prediction indirection L1 may refer to prediction using reference picture list 1between reference picture lists 0 and 1 for bi-directionalinter-prediction. It is possible to use a) a method of using aninter-view reference picture list, b) a method of using reference indexinformation and c) a method of using identity of POC of a pictureincluding the current texture block and POC of a reference picture ofthe current texture block may be used as a method for determiningwhether the current texture block is coded according to inter-viewinter-prediction. The methods have been described with reference to FIG.4. When at least one of prediction of the current texture block indirection L0 and prediction of the current texture block in direction L1is inter-view inter-prediction, an inter-view motion vector used forinter-view inter-prediction may be stored in the disparity vector map(S820). When both prediction in direction L0 and prediction in directionL1 correspond to inter-view inter-prediction, a mean value of twointer-view motion vectors used for inter-view inter-prediction may bestored in the disparity vector map. Otherwise, only horizontalcomponents of the inter-view motion vectors used for inter-viewinter-prediction may be stored in the disparity vector map. On the otherhand, when any one of prediction of the current texture block indirection L0 and prediction of the current texture block in direction L1does not correspond to inter-view inter-prediction, it may be checkedwhether the motion vector of the current texture block is derived from areference view motion vector (S830). The reference view motion vectormay refer to a motion vector used by a block specified by the inter-viewmotion vector of the current texture block, as described above. When themotion vector of the current texture block is derived from the referenceview motion vector, it may be determined whether the current textureblock is coded in a merge mode based on merge mode flag information(S840). The merging mode flag information indicates whether acorresponding block is coded in the merge mode and the merging moderefers to a mode in which a motion vector of a corresponding block isderived from one of a spatial motion vector, a temporal motion vector, areference view motion vector and an inter-view motion vector and doesnot include a motion vector differential value. A non-merge mode refersto a mode in which a motion vector of a corresponding block is derivedfrom one of a spatial motion vector, a temporal motion vector, and areference view motion vector but includes a motion vector differentialvalue for motion vector reconstruction since the derived motion vectoris used as a predicted motion vector.

When it is determined that the current texture block is coded in themerge mode, an inter-view motion vector corresponding to the referenceview motion vector may be stored in the disparity vector map (S850).When it is determined that the current texture block is not coded in themerge mode, the motion vector differential value of the current textureblock may be compared with a threshold value (S860). The threshold valueaccording to the present invention may be set to a predeterminedinteger. For example, a threshold value of a vertical component can beset to 2 pixels and a threshold value of a horizontal component can beset to 2 pixels. When the motion vector differential value is less thanthe threshold value, the inter-view motion vector corresponding to thereference view motion vector may be stored in the disparity vector map(S850). However, when the motion vector differential value is greaterthan the threshold value, motion compensation may be performed on thedisparity vector map using the motion vector of the current textureblock (S870). That is, a disparity vector specified by the motion vectorof the current texture block may be extracted from the disparity vectormap of the reference picture and stored in the disparity vector map ofthe current picture.

When the motion vector of the current texture block is not derived fromthe reference view motion vector in step S830, motion compensation maybe performed on the disparity vector map using the motion vector of thecurrent texture block so as to update the disparity vector map of thecurrent picture (S850).

The encoder may extract a disparity vector having highest frequency fromamong disparity vectors stored in the disparity vector map, calculate adisparity vector offset with respect to the disparity vector andtransmit the disparity vector offset to the decoder. The decoder mayextract a disparity vector having highest frequency from among disparityvectors stored in the disparity vector map and modify the extracteddisparity vector using the disparity vector offset acquired from abitstream.

Alternatively, the encoder may extract K disparity vectors in order offrequency from a disparity vector having the highest frequency fromamong disparity vectors stored in the disparity vector map, calculatewith respect to each extracted disparity vector and transmit thedisparity vector offset to the decoder. In addition, the encoder maycode offset count information which indicates the number of disparityvector offsets transmitted to the decoder and transmit the coded offsetcount information to the decoder. Accordingly, the decoder may extractthe offset count information from a bitstream and extract as manydisparity vector offsets as the offset count according to the offsetcount information from the bitstream. In addition, the decoder mayextract as many disparity vectors as the offset count according to theoffset count information in order of frequency from the disparity vectorhaving the highest frequency. Then, the decoder may apply the disparityvector offsets to the extracted disparity vectors so as to modify thedisparity vectors.

Alternatively, the encoder may extract a maximum value and a minimumvalue from among disparity vectors stored in the disparity vector mapand calculate the range of the disparity vectors stored in the disparityvector map using the maximum value and the minimum value. In addition,the encoder may divide the range of the disparity vectors into Nsections, code a disparity vector offset corresponding to each sectionand transmit the disparity vector offset to the decoder. Furthermore,the encoder may decode information on the number of the sections andtransmit the information to the decoder. Accordingly, the decoder mayextract the information on the number of the sections from a receivedbitstream and extract as many disparity vector offsets as the number ofthe sections according to the information. Then, the decoder may add adisparity vector offset with respect to a corresponding section to adisparity vector belonging to the corresponding section so as to modifythe disparity vector.

The aforementioned method of modifying K disparity vectors having modesand the method of modifying disparity vectors by dividing a disparityvector range into N sections may be selectively used. To this end, it ispossible to define offset type information which indicates modificationof K disparity vectors having modes or modification of disparity vectorsfor N sections. Accordingly, K disparity vectors having modes may beextracted and disparity vector offsets may be applied to the K disparityvectors according to the offset type information. Otherwise, a disparityvector range may be divided into N sections and a disparity vector of acorresponding section may be modified using a disparity vector offsetcorresponding to the section according to the offset type information.

Inter-view motion vector candidates of the current text block mayinclude a spatial inter-view motion vector, a temporal inter-view motionvector and a disparity vector and an inter-view motion vector of thecurrent texture block may be derived from one selected from the spatialinter-view motion vector, temporal inter-view motion vector anddisparity vector, as described above. A description will be given of amethod of deriving the inter-view motion vector of the current textureblock from inter-view motion vector candidates.

The inter-view motion vector may be acquired in consideration ofpriorities of inter-view motion vector candidates of the current textureblock. The priorities of the inter-view motion vector candidates may beset, as shown in Table 3.

TABLE 3 Priority Category 0 Spatial inter-view motion vector 1 Temporalinter-view motion vector 2 Disparity vector

In Table 3, a lower priority value refers to a higher priority. That is,the spatial inter-view motion vector may have highest priority and thetemporal inter-view motion vector and the disparity vector may have thefollowing priorities. A description will be given of a method ofderiving an inter-view motion vector when the priories of the inter-viewmotion vector candidates are set, as shown in Table 3, with reference toFIG. 9. Table 3 is exemplary and the present invention is not limitedthereto. For example, the priorities can be set in the order of thetemporal inter-view motion vector, spatial inter-view motion vector anddisparity vector or in the order of the disparity vector, spatialinter-view motion vector and temporal inter-view motion vector.Alternatively, the priorities may be set in a specific category. Forexample, priorities of the spatial inter-view motion vector and temporalinter-view motion vector can be set or priorities of the spatialinter-view motion vector and disparity vector.

FIG. 9 illustrates a method of deriving an inter-view motion vector froma neighboring block coded according to inter-view inter-prediction onthe basis of predetermined priorities according to an embodiment towhich the present invention is applied.

Referring to FIG. 9, spatial neighboring blocks may be searched for ablock coded according to inter-view inter-prediction (S900). Asdescribed with reference to FIG. 4, priorities of the spatialneighboring blocks may be considered when the spatial neighboring blocksare searched for a block coded according to inter-view inter-prediction.For example, a left lower neighboring block, a left neighboring block, aright upper neighboring block, an upper neighboring block and a leftupper neighboring block can be sequentially searched for a block codedaccording to inter-view inter-prediction. In addition, a) the method ofusing an inter-view reference picture list, b) the method of usingreference index information and c) the method of using identity of POCof a picture including a spatial neighboring block and POC of areference picture of the spatial neighboring block may be used as amethod of determining whether a block is coded according to inter-viewinter-prediction. This has been described with reference to FIG. 4 andcan be equally applied to the present embodiment and thus detaileddescription is omitted.

When the spatial neighboring blocks include a block coded according tointer-view inter-prediction, the inter-view motion vector of the currenttexture block may be derived from the inter-view motion vector of thecorresponding spatial neighboring block (S910). On the contrary, whenthe spatial neighboring blocks do not include a block coded according tointer-view inter-prediction, temporal neighboring blocks may be searchedfor a block coded according to inter-view inter-prediction (S920).Temporal neighboring block candidates may include at least one of a) acollocated block, b) a block adjacent to a collocated block and c) acoding block including a collocated block, and the temporal neighboringblocks may be searched for a block coded according to inter-viewinter-prediction in consideration of priorities of the temporalneighboring block candidates, as described above.

When the temporal neighboring blocks include a block coded according tointer-view inter-prediction, the inter-view motion vector of the currenttexture block may be derived using the inter-view inter-prediction ofthe corresponding temporal neighboring block (S930). On the contrary,when the temporal neighboring blocks do not include a block codedaccording to inter-view inter-prediction, the inter-view motion vectorof the current texture block may be derived using a disparity vector ofthe current texture block (S940).

When spatial or temporal neighboring blocks are not coded according tointer-view inter-prediction, that is, when motion vectors of neighboringblocks are derived from reference view motion vectors even if theneighboring blocks are coded according to temporal inter-prediction,inter-view motion vectors corresponding to the reference view motionvectors may be used as inter-view motion vector candidates of thecurrent texture block. A description will be given of a method ofderiving an inter-view motion vector using a neighboring block codedaccording to temporal inter-prediction on the assumption that inter-viewmotion vector candidates have priorities as shown in Table 3.

FIG. 10 is a flowchart illustrating a method of deriving an inter-viewmotion vector from a neighboring block coded according to temporalinter-prediction and a neighboring block coded according to inter-viewinter-prediction on the basis of predetermined priorities according toan embodiment to which the present invention is applied.

Referring to FIG. 10, it may be checked whether spatial neighboringblocks are coded according to temporal inter-prediction or inter-viewinter-prediction (S1000). It may be sequentially checked whether thespatial neighboring blocks are coded according to temporalinter-prediction or inter-view inter-prediction according to prioritiesof the spatial neighboring blocks. The checking process may be performeduntil a block coded according to temporal or inter-view inter-predictionis detected. When a spatial neighboring block coded according tointer-view inter-prediction is detected, the inter-view motion vector ofthe current texture block may be derived using the inter-view motionvector of the corresponding spatial neighboring block (S1010). When aspatial neighboring block coded according to temporal inter-predictionis detected, it may be checked whether the motion vector of the spatialneighboring block has been derived from a reference view motion vector(S1020). When the motion vector of the spatial neighboring block has notbeen derived from a reference view motion vector, it may be checkedwhether the spatial neighboring block has lowest priority (S1030). Whenthe spatial neighboring block does not have the lowest priority, it ischecked whether a spatial neighboring block having the next priority isa block coded according to temporal inter-prediction or a block codedaccording to inter-view inter-prediction (S1000). On the contrary, whenthe corresponding spatial neighboring block has the lowest priority, aninter-view motion vector cannot be derived from a spatial neighboringblock any more and thus a process of deriving an inter-view motionvector from a temporal neighboring block or a disparity block accordingto priorities is performed.

When the motion vector of the corresponding spatial neighboring blockhas been derived from a reference view motion vector in step S1020, itmay be checked whether the spatial neighboring block has been coded inthe merge mode (S1040). It is possible to determine whether the spatialneighboring block has been coded in the merge mode on the basis of mergemode flag information of the spatial neighboring block. When the spatialneighboring block has been coded in the merge mode in step S1040, theinter-view motion vector of the current texture block may be derivedusing an inter-view motion vector corresponding to the reference viewmotion vector (S1050). However, when the spatial neighboring block hasnot been coded in the merge mode, a motion vector differential value ofthe spatial neighboring block may be compared with a threshold value(S1060). Here, the threshold value may be set to a predeterminedinteger. For example, a threshold value of a vertical component can beset to 2 pixels and a threshold value of a horizontal component can beset to 2 pixels. When the motion vector differential value is less thanthe threshold value in step S1060, the inter-view motion vector of thecurrent texture block may be derived from an inter-view motion vectorcorresponding to the reference view motion vector of the spatialneighboring block (S1050). However, when the motion vector differentialvalue is greater than the threshold value, this may mean that thereference view motion vector of the spatial neighboring block has alarge error. In this case, the inter-view motion vector corresponding tothe reference view motion vector may be set to an invalid value (S1070).

The present invention is not limited to use of one predeterminedpriority and may define a plurality of priority tables as shown in Table4 and selectively use the priority tables.

TABLE 4 Priority table index Priority table type 0 Table in which aspatial inter-view motion vector has highest priority 1 Table in which atemporal inter-view motion vector has highest priority 2 Table in whicha disparity vector has highest priority

A description will be given of a method of selectively using one of theplurality of priority tables.

In one embodiment, the encoder may select a priority table with highestefficiency, code a priority table index corresponding to the selectedpriority table and transmit the priority table index to the decoder.Accordingly, the decoder may extract the priority table index from areceived bitstream and select the priority table corresponding to thepriority table index.

Alternatively, a priority table may be selected in consideration of aninter-view motion vector used by a block coded prior to the currenttexture block, which will now be described with reference to FIGS. 11and 12.

FIG. 11 is a flowchart illustrating a method of selecting a prioritytable in consideration of the frequency of inter-view motion vectorsused by spatial neighboring blocks according to an embodiment to whichthe present invention is applied.

Referring to FIG. 11, an inter-view motion vector of a spatialneighboring block may be derived (S1100). As described above, theinter-view motion vector of the spatial neighboring block may be derivedthrough the method of deriving the inter-view motion vector of thecurrent texture block. Accordingly, the inter-view motion vector of thespatial neighboring block may be derived from one of a spatialinter-view motion vector, a temporal inter-view motion vector and adisparity vector. Then, the spatial neighboring block may be categorizedaccording to whether the inter-view motion vector of the spatialneighboring block is derived from the spatial inter-view motion vector,temporal inter-view motion vector or disparity vector (S1110). It ispossible to determine a vector used with highest frequency from amongthe spatial inter-view motion vector, temporal inter-view motion vectorand disparity vector through the categorization process (S1120). Apriority table for the current texture block may be selected accordingto the vector used with highest frequency (S1130). For example, when thespatial inter-view motion vector is used with highest frequency inderiving of inter-view motion vectors of spatial neighboring blocks, apriority table in which the spatial inter-view motion vector has highestpriority may be selected for the current texture block. On the contrary,when the spatial inter-view motion vector is not used with highestfrequency, a priority table in which the temporal inter-view motionvector has highest priority may be selected for the current textureblock.

FIG. 12 is a flowchart illustrating a method of selecting a prioritytable in consideration of an inter-view motion vector type of a spatialneighboring block according to an embodiment to which the presentinvention is applied.

Referring to FIG. 12, an inter-view motion vector type of a spatialneighboring block may be checked (S1200). In other words, it may bechecked whether the inter-view motion vector of the spatial neighboringblock is derived from a spatial inter-view motion vector, a temporalinter-view motion vector or a disparity vector. A vector type index forthe spatial neighboring block may be determined based on the inter-viewmotion vector type of the spatial neighboring block (S1210). The vectortype index may be information which indicates whether the inter-viewmotion vector of the spatial neighboring block is derived from a spatialinter-view motion vector, a temporal inter-view motion vector or adisparity vector. For example, the vector type index for the spatialneighboring block can be determined as 0 when the inter-view motionvector of the spatial neighboring block is derived from the spatialinter-view motion vector, as 1 when the inter-view motion vector of thespatial neighboring block is derived from the temporal inter-view motionvector and as 2 when the inter-view motion vector of the spatialneighboring block is derived from the disparity vector. A priority tablefor the current texture block may be determined on the basis of thevector type index of the spatial neighboring block (S1220). For example,vector type indexes of spatial neighboring blocks and tables withpriority table indexes corresponding to the vector type indexes can beused. While only left blocks and upper blocks are exemplified as spatialneighboring blocks in Table 5 for convenience, the present invention isnot limited thereto and the priority table indexes are based on Table 4.

TABLE 5 Vector type index Left neighboring block Upper neighboring blockPriority table index 0 0 0 0 1 0 0 2 0 1 0 0 1 1 1 1 2 2 2 0 0 2 1 2 2 22

When an inter-view motion vector of a left neighboring block from amongspatial neighboring blocks is derived from a spatial inter-view motionvector, the vector type index for the left neighboring block may bedetermined as 0. When an inter-view motion vector of an upperneighboring block is derived from a spatial inter-view motion vector,the vector type index for the upper neighboring block may be determinedas 0. Referring to Table 5, when the vector types of the leftneighboring block and the upper neighboring block are 0, the prioritytable index corresponding to the current texture block is determined as0. Accordingly, a table in which the spatial inter-view motion vectorhas highest priority may be used for the current texture block.

When the inter-view motion vector of the left neighboring block isderived from a disparity vector, the vector type index for the leftneighboring block may be determined as 2. When the inter-view motionvector of the upper neighboring block is derived from a temporalinter-view motion vector, the vector type index for the upperneighboring block may be determined as 1. In this case, the prioritytable index corresponding to the current texture block is determined as2. That is, a table in which the disparity vector has highest prioritymay be used for the current texture block.

The inter-view motion vector of the current texture block may be derivedin consideration of priority depending on the priority table determinedin S1220 (S1230).

FIG. 13 is a flowchart illustrating a method of determining priorityusing a state variable according to an embodiment to which the presentinvention is applied.

Referring to FIG. 13, a state variable with respect to a block codedprior to the current texture block may be determined (S1300). Here, thestate variable may refer to a variable which indicates whether theinter-view motion vector of the block coded prior to the current textureblock is derived from a spatial inter-view motion vector or a temporalinter-view motion vector. For example, the state variable of the blockcoded prior to the current texture block can be set to 0 when theinter-view motion vector of the block is derived from an inter-viewmotion vector of a spatial neighboring block and to 1 when theinter-view motion vector of the block is derived from an inter-viewmotion vector of a temporal neighboring block. On the contrary, thestate variable of the block coded prior to the current texture block canbe set to 1 when the inter-view motion vector of the block is derivedfrom an inter-view motion vector of a spatial neighboring block and to 0when the inter-view motion vector of the block is derived from aninter-view motion vector of a temporal neighboring block.

Priorities of inter-view motion vector candidates of the current textureblock may be determined on the basis of the determined state variable ofthe block coded prior to the current texture block (S1310). For example,when the state variable of the block is set to a value indicating thatthe inter-view motion vector of the block is derived from a spatialinter-view motion vector, the spatial inter-view motion vector fromamong the inter-view motion vector candidates of the current textureblock can be given high priority. On the contrary, when the statevariable of the block is set to a value indicating that the inter-viewmotion vector of the block is derived from a temporal inter-view motionvector, the temporal inter-view motion vector can be given highpriority. Alternatively, when a plurality of priority tables is defined,as shown in Table 4, priorities of inter-view motion vector candidatesmay be determined using state variables and tables with priority tableindexes corresponding to the state variables, as shown in Table 6.

TABLE 6 State Priority variable table index Priority table type 0 0Table in which a spatial inter-view motion vector has highest priority 11 Table in which a temporal inter-view motion vector has highestpriority

Referring to Table 6, when the state variable of the block coded priorto the current texture block is 0, in other words, when the inter-viewmotion vector of the block coded prior to the current texture block isderived from the spatial inter-view motion vector, the priority tableindex of the current texture block may be determined as 0 and thus atable in which the spatial inter-view motion vector has highest prioritymay be used for the current texture block. On the contrary, when thestate variable of the block coded prior to the current texture block is1, the priority table index of the current texture block may bedetermined as 1 and thus a table in which the temporal inter-view motionvector has highest priority may be used for the current texture block.

The inter-view motion vector of the current texture block may be derivedon the basis of the determined priority (S1320). The state variable ofthe current texture block may be used to determine a priority of thenext block to be coded. Accordingly, the state variable of the currenttexture block needs to be updated on the basis of the inter-view motionvector derived in S1320. To this end, the inter-view motion vector typeof the current texture block may be compared with the inter-view motionvector type of the previously coded block (S1330). For example, when thestate variable of the previously coded block is set to 0 as theinter-view motion vector thereof is derived from the spatial inter-viewmotion vector and thus the spatial inter-view motion vector from amonginter-view motion vector candidates of the current texture block isgiven a high priority, it is checked whether the spatial neighboringblock having highest priority has an inter-view motion vector for thecurrent texture block, and thus the inter-view motion vector of thecurrent texture block may be derived from the inter-view motion vectorof the spatial neighboring block. In this case, the inter-view motionvector type of the current texture block may be regarded as identical tothe inter-view motion vector type of the previously coded block.However, when it is determined that the spatial neighboring block cannotbe used, it is checked whether a candidate with next highest priority(e.g. temporal neighboring block) has an inter-view motion vector forthe current texture block and the inter-view motion vector of thecurrent texture block may be derived from the inter-view motion vectorof the candidate with the next highest priority. In this case, theinter-view motion vector type of the current texture block may beregarded as differing from the inter-view motion vector type of thecandidate. When it is determined that the inter-view motion vector typeof the current texture block differs from that of the previously codedblock in S1330, the state variable may be updated on the basis of theinter-view motion vector type of the current texture block, which isderived in S1320 (S1340). For example, when the inter-view motion vectorof the current texture block is derived from the temporal inter-viewmotion vector though the state variable of the previously coded block isset to 0 as the inter-view motion vector of the previously coded blockis derived from the spatial inter-view motion vector, the state variablecan be updated to 1. When the current texture block and the previouslycoded block have the same inter-view motion vector type, the statevariable of the previously coded block may be maintained.

The inter-view motion vector of the current texture block may be derivedusing a statistical function having the aforementioned inter-view motionvector candidates as inputs. For example, the inter-view motion vectorof the current texture block can be derived from a median value, a modevalue and a mean value of the inter-view motion vector candidates. Here,candidates applied to the statistical function may include the spatialinter-view motion vector, the temporal inter-view motion vector and thedisparity vector. Alternatively, inter-view motion vectors may besearched according to priority for each category and only the inter-viewmotion vector acquired first may be used as an input of the statisticalfunction. Furthermore, only candidates belonging to a specific categorymay be used. For example, only candidates belonging to a combination ofspecific categories, such as a) spatial inter-view motion vector andtemporal inter-view motion vector, b) spatial inter-view motion vectorand disparity vector and c) temporal inter-view motion vector anddisparity vector, can be used as inputs of the statistical function.

Two or more inter-view motion vectors may be derived for one currenttexture block. That is, two or more inter-view motion vectors may bedetermined from among inter-view motion vector candidates and includedin a motion vector list to be used when the motion vector of the currenttexture block is derived. A method of deriving a plurality of inter-viewmotion vectors is described. At least one inter-view motion vector maybe acquired per category. For example, at least one inter-view motionvector can be acquired from a spatial neighboring block and at least oneinter-view motion vector can be acquired from a temporal neighboringblock. Alternatively, a spatial neighboring block may be divided into afirst group including a left lower neighboring block and a leftneighboring block and a second group including a right upper neighboringblock, an upper neighboring block and a left upper neighboring block andan inter-view motion vector may be acquired per group. Furthermore, aninter-view motion vector may be acquired per group according to apredetermined priority and the inter-view motion vector acquired firstmay be set to an inter-view motion vector representative value of eachgroup.

When a plurality of inter-view motion vectors is derived, inter-viewmotion vectors having the same value may be present. Accordingly, aprocess of removing a redundant inter-view motion vector may beperformed when acquired inter-view motion vectors are added to themotion vector list of the current texture block.

Embodiments described hereinbelow are combinations of elements andfeatures of the present invention. The elements or features may beconsidered selective unless otherwise mentioned. Each element or featuremay be practiced without being combined with other elements or features.Further, an embodiment of the present invention may be constructed bycombining parts of the elements and/or features. Operation ordersdescribed in embodiments of the present invention may be rearranged.Some constructions of any one embodiment may be included in anotherembodiment and may be replaced with corresponding constructions ofanother embodiment.

As described above, the decoding/encoding device to which the presentinvention is applied may be included in a multimedia broadcasttransmission/reception apparatus such as a DMB (digital multimediabroadcast) system to be used to decode video signals, data signals andthe like. In addition, the multimedia broadcast transmission/receptionapparatus may include a mobile communication terminal.

The decoding/encoding method to which the present invention is appliedmay be implemented as a computer-executable program and stored in acomputer-readable recording medium and multimedia data having a datastructure according to the present invention may also be stored in acomputer-readable recording medium. The computer-readable recordingmedium includes all kinds of storage devices storing data readable by acomputer system. Examples of the computer-readable recording mediuminclude a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, anoptical data storage device, and a medium using a carrier wave (e.g.transmission through the Internet). In addition, a bitstream generatedaccording to the encoding method may be stored in a computer-readablerecording medium or transmitted using a wired/wireless communicationnetwork.

INDUSTRIAL APPLICABILITY

The present invention can be used to code video signals.

1. A method for processing video signals, comprising: deriving aninter-view motion vector of a current texture block from one ofinter-view motion vector candidates of the current texture block inconsideration of priorities of the inter-view motion vector candidates;and performing inter-view inter-prediction for the current texture blockusing the derived inter-view motion vector, wherein the inter-viewmotion vector candidates include at least one of an inter-view motionvector of a spatial neighboring block, an inter-view motion vector of atemporal neighboring block, and a disparity vector.
 2. The methodaccording to claim 1, wherein the inter-view motion vector of thespatial neighboring block has a priority higher than that of theinter-view motion vector of the temporal neighboring block, and theinter-view motion vector of the temporal neighboring block has higherpriority than that of the disparity vector.
 3. The method according toclaim 2, further comprising: detecting a block coded according tointer-view inter-prediction for the spatial neighboring block havinghighest priority; deriving the inter-view motion vector of the currenttexture block from the inter-view motion vector of the spatialneighboring block when the block coded according to inter-viewinter-prediction is present; and detecting a block coded according tointer-view inter-prediction for the temporal neighboring block havingnext highest priority when the block coded according to inter-viewinter-prediction is not present.
 4. The method according to claim 3,wherein the spatial neighboring block includes at least one of a leftlower neighboring block, a left neighboring block, a right upperneighboring block, an upper neighboring block and a left upperneighboring block of the current texture block.
 5. The method accordingto claim 4, wherein the block coded according to inter-viewinter-prediction is detected on the basis of priorities of the spatialneighboring blocks, wherein the spatial neighboring blocks havepriorities in descending order of the left lower neighboring block, leftneighboring block, right upper neighboring block, upper neighboringblock and left upper neighboring block.
 6. The method according to claim3, wherein the temporal neighboring block includes at least one of acollocated block, a block adjacent to the collocated block and a codingblock including the collocated block.
 7. The method according to claim6, wherein the block coded according to inter-view inter-prediction isdetected on the basis of priorities of the temporal neighboring blocks,wherein the temporal neighboring blocks have priorities in descendingorder of the collocated block, the block adjacent to the collocatedblock and the coding block including the collocated block.
 8. Anapparatus for processing video signals, comprising: an inter-predictionunit for deriving an inter-view motion vector of a current texture blockfrom one of inter-view motion vector candidates of the current textureblock in consideration of priorities of the inter-view motion vectorcandidates and performing inter-view inter-prediction for the currenttexture block using the derived inter-view motion vector, wherein theinter-view motion vector candidates include at least one of aninter-view motion vector of a spatial neighboring block, an inter-viewmotion vector of a temporal neighboring block, and a disparity vector.9. The apparatus according to claim 8, wherein the inter-view motionvector of the spatial neighboring block has a priority higher than thatof the inter-view motion vector of the temporal neighboring block, andthe inter-view motion vector of the temporal neighboring block hashigher priority than that of the disparity vector.
 10. The apparatusaccording to claim 9, wherein the inter-prediction unit detects a blockcoded according to inter-view inter-prediction for the spatialneighboring block having highest priority, derives the inter-view motionvector of the current texture block from the inter-view motion vector ofthe spatial neighboring block when the block coded according tointer-view inter-prediction is present and detects a block codedaccording to inter-view inter-prediction for the temporal neighboringblock having next highest priority when the block coded according tointer-view inter-prediction is not present.
 11. The apparatus accordingto claim 10, wherein the spatial neighboring block includes at least oneof a left lower neighboring block, a left neighboring block, a rightupper neighboring block, an upper neighboring block and a left upperneighboring block of the current texture block.
 12. The apparatusaccording to claim 11, wherein the inter-prediction unit detects theblock coded according to inter-view inter-prediction on the basis ofpriorities of the spatial neighboring blocks, wherein the spatialneighboring blocks have priorities in descending order of the left lowerneighboring block, left neighboring block, right upper neighboringblock, upper neighboring block and left upper neighboring block.
 13. Theapparatus according to claim 10, wherein the temporal neighboring blockincludes at least one of a collocated block, a block adjacent to thecollocated block and a coding block including the collocated block. 14.The apparatus according to claim 6, wherein the inter-prediction unitdetects the block coded according to inter-view inter-prediction on thebasis of priorities of the temporal neighboring blocks, wherein thetemporal neighboring blocks have priorities in descending order of thecollocated block, the block adjacent to the collocated block and thecoding block including the collocated block.